
import Vue from 'vue'
import Vuex from 'vuex'
import {getItem , setItem} from '@/utils/storage'

Vue.use(Vuex)
 // 定义一个常量来把toke放入本来持久化
 const TOKEN_KEY = 'DAILY_USER'
/*
 登录成 将token 存储到Vuex 容器中
  1.获取方便
  2.响应式
  
  为了持久化,还需把token 放到本地存储中
    持久化

*/
export default new Vuex.Store({
  state: {
     // 一个对象, 存储当前登录用户信息(token等数据)
      user: getItem(TOKEN_KEY)
      // 取的时候再将字符串转为了对象
      // user: JSON.parse(window.localStorage.getItem(TOKEN_KEY))
  },
  getters: {
  },
  // 修改数据永远通过mutations
  mutations: {
     setUser(state, data) {
      // 将传进来的data 赋值给 state 中的user
       state.user = data

       // 为了防止刷新丢失, 放到本地存储中(将对象转化了json字符串)
      //  window.localStorage.setItem(TOKEN_KEY,JSON.stringify(state.user))
        setItem(TOKEN_KEY,state.user)
    }
  },
  actions: {
    
  },
  modules: {
  }
})
